package com.deco.dao.logic.store;

import java.util.List;

import com.deco.dao.domain.table.StoreJoin;
import com.deco.dao.domain.table.StoreShop;
import com.deco.dao.mapper.StoreJoinMapper;
import com.deco.dao.mapper.StoreShopMapper;
import com.deco.domain.vo.store.StoreShopVo;
import com.free.ext.mybatis.dao.BaseDao;
import com.free.ext.mybatis.model.entity.PageResponseModel;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;

import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import tk.mybatis.orderbyhelper.OrderByHelper;

/**
 * <p>
 * 功能概述:
 * </p>
 * <p>
 * 功能详述:
 * </p>
 */
@Component
public class StoreShopDao extends BaseDao<StoreShop,Integer> {

    @Autowired
    private StoreShopMapper mapper;
    
	public PageResponseModel<StoreShop> selectByPageNoNameLike(StoreShop condition,
			String orderBy, Integer pageNo, Integer pageSize) {
		Page<StoreShop> lst = PageHelper.startPage(pageNo, pageSize);
        if (StringUtils.isNotEmpty(orderBy))
        {
            OrderByHelper.orderBy(orderBy);
        }
        mapper.selectNameLike(condition);
        return new PageResponseModel<StoreShop>(lst);
	}
    /*========================================================================*
     *                         Public Fields (公共属性)
     *========================================================================*/

	public int batchDelete(Integer[] ids) {
		return mapper.batchDelete(ids);
	}

	public List<StoreShop> queryProvList(Integer type) {
		// TODO Auto-generated method stub
		return mapper.queryProvList(type);
	}

	public List<StoreShop> queryCityList(Integer type, String prov){
		return mapper.queryCityList(type, prov);
	}

	public List<StoreShop> queryAreaList(Integer type, String city){
		return mapper.queryAreaList(type, city);
	}

	public List<StoreShop> selectByNameLike(StoreShop tbl, String orderBy) {
		if (StringUtils.isNotEmpty(orderBy))
        {
            OrderByHelper.orderBy(orderBy);
        }
		return mapper.selectNameLike(tbl);
	}

    /*========================================================================*
     *                         Private Fields (私有属性)
     *========================================================================*/

    /*========================================================================*
     *                         Construct Methods (构造方法)
     *========================================================================*/

    /*========================================================================*
     *                         Public Methods (公有方法)
     *========================================================================*/

    /*========================================================================*
     *                         Private Methods (私有方法)
     *========================================================================*/
}
